SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS OFF
GO
CREATE PROCEDURE [dbo].[spLiquidarEducacionPrivadaConceptosTipo2y3]
   @TipoConcepto INT,	
   @CabeceraDeLiquidacion INT,
   @RegimenLaboral INT,
   @IdLiquidacionActual INT 
AS

SET NOCOUNT ON
DECLARE @MesTitulares INT
DECLARE @AnioTitulares INT
DECLARE @MesSuplentes INT 
DECLARE @AnioSuplentes INT

DECLARE  @SQLTemp NVARCHAR(2000)
DECLARE  @Procedimiento VARCHAR(50) 
DECLARE @idConcepto INT
DECLARE @ConceptoATotalizar INT 
DECLARE @EsSuplente BIT
DECLARE @Orden INT

SELECT @MesTitulares=MONTH(Desde), @AnioTitulares=YEAR(Desde), 
	 @MesSuplentes=MONTH(DesdeSuplente), @AnioSuplentes=YEAR(DesdeSuplente) 
	 FROM Tb_CabeceraDeLiquidacion
	 WHERE IdCabeceraDeLiquidacion = @CabeceraDeLiquidacion

-- Armar Cursor con Conceptos  
DECLARE ConceptosaLiqTipo CURSOR FOR 

SELECT Procedimiento, idConceptoLiquidacion, ConceptoATotalizar, 0 EsSuplente, OrdenDeEjecucion FROM tb_ConceptosDeLiquidacion 
	WHERE RegimenLaboral = @RegimenLaboral 
 	   AND Habilitado = 'S' 
	   AND SUBSTRING(MesDePago, @MesTitulares, 1) = '1' 
	   AND MomentoDeEjecucion = @TipoConcepto
UNION
  (SELECT Procedimiento, idConceptoLiquidacion, ConceptoATotalizar, 1 EsSuplente, OrdenDeEjecucion FROM tb_ConceptosDeLiquidacion 
	WHERE RegimenLaboral = @RegimenLaboral 
 	   AND Habilitado = 'S' 
	   AND SUBSTRING(MesDePagoSuplentes, @MesSuplentes, 1) = '1' 
	   AND MomentoDeEjecucion = @TipoConcepto)
ORDER BY OrdenDeEjecucion 
	
OPEN ConceptosALiqTipo
FETCH NEXT FROM ConceptosaLiqTipo INTO @Procedimiento, @idConcepto, @ConceptoATotalizar, @EsSuplente, @Orden
     WHILE @@FETCH_STATUS = 0
	BEGIN
		SELECT @sqlTemp = 'EXEC '+@Procedimiento+ ' ' +CONVERT(VARCHAR, @CabeceraDeLiquidacion)+', '+CONVERT(VARCHAR, @IdLiquidacionActual)+', '+CONVERT(VARCHAR, @ConceptoATotalizar)+', '+CONVERT(VARCHAR, @EsSuplente )
		EXEC(@sqlTemp)
	
		FETCH NEXT FROM ConceptosaLiqTipo INTO @Procedimiento, @idConcepto, @ConceptoATotalizar, @EsSuplente, @Orden
	END
	
CLOSE ConceptosaLiqTipo
DEALLOCATE ConceptosaLiqTipo
GO
